#include <my_header.h>

/* Usage:  ./28_线程属性*/
// 给线程设置属性
void *func(void *arg){
    return NULL;
}
int main(void)
{
    // 定义线程属性并初始化
   pthread_attr_t attr;
   pthread_attr_init(&attr);
   //  设置线程的脱离状态
   pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);

   pthread_t tid;
   pthread_create(&tid,&attr, func, NULL);

   int res = pthread_join(tid, NULL);
   THREAD_ERROR_CHECK(res, "join");

   pthread_attr_destroy(&attr);
   return 0;
}
#if 0
以 pthread_attr_setdetachstate 为例子演示如何设置线程的
属性。分离/脱离属性影响一个线程的终止状态是否能被其他
线程使用 pthread_join 函数捕获终止状态。如果一个
线程设置了分离/脱离属性，那么另一个线程使用 pthread
_join 时会返回一个报错
#endif
